Data management systems can process data in transactions. A transaction can be a set of operations performed on data, and can involve reading and/or writing operations performed on data resources. Multiple transactions can be processed by a data management system, and at least some portions of those transaction may be performed concurrently by the data management system. A system of locks can be used to manage access to data resources. Different lock systems may provide for different advantages and different disadvantages. In some lock systems, certain locks, such as shared locks, may be assigned to one or more transactions, and some may be upgraded for other locks over the course of the one or more transactions transaction. Management of such upgrades may be computationally expensive and/or may be slow to process. Furthermore, a transaction may be assigned multiple locks corresponding to multiple data resources, and serial or in-sequence upgrading of the multiple locks, or serial waiting for other readers to finish a read process before a commit process can be implemented may be slow.